package com.brillilab.domain.po.user;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 注册邀请码
 * </p>
 *
 * @author WuMenghao
 * @since 2019-09-30
 */
@TableName("invite_code")
@Data
public class InviteCode implements Serializable {

    private static final long serialVersionUID = 1L;

    public InviteCode() {}

    public InviteCode(String code,Long labId,String useType,String makeName,Date expireDate) {
        this.code=code;
        this.labId=labId;
        this.useType=useType;
        this.makeName=makeName;
        this.expireDate=expireDate;
    }

    public InviteCode(String code,String makeName,String useType,Date expireDate) {
        this.code=code;
        this.makeName=makeName;
        this.useType=useType;
        this.expireDate=expireDate;
    }

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 邀请码code
     */
    private String code;
    /**
     * 实验室Id
     */
    @TableField("lab_id")
    private Long labId;
    /**
     * 使用途径
     */
    private String useType;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;

    /**
     * 使用状态（0未使用，1已使用）
     */
    @TableField("state")
    private Integer state;
    /**
     * 生成人姓名
     */
    @TableField("make_name")
    private String makeName;

    /**
     * 过期时间
     */
    @TableField("expire_date")
    private Date expireDate;
}
